Recording and publishing content on social media websites

ABSTRACT

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for recording and publishing content on social networking websites and other websites include providing an imbedded link on a social networking webpage to media recorder software stored on an external server system, invoking the media recorder software within a displayed instance of the social networking webpage through an application programming interface for the social networking webpage, receiving a video stream defining video captured using the media recorder software at the external video management server system, generating and storing a video file using the received video stream at the external server system, selecting the stored video file for distribution via one or more communication networks, and providing the stored video file for display within displayed instances of webpages hosted on external web server systems.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 13/674,768 filed Nov. 12, 2012, which is a continuation of U.S.patent application Ser. No. 13/475,765 filed on May 18, 2012, now U.S.Pat. No. 8,311,382, which claims the benefit under 35 U.S.C. § 119(e) ofU.S. Patent Application No. 61/644,909, entitled “Recording andPublishing Content on Social Media Websites,” filed May 9, 2012, theentire disclosures of which are incorporated herein by reference intheir entirety.

BACKGROUND

This specification relates to creating various forms of content onsocial media websites and publishing that some content either on thesame social media website, other social or general media websites, or ontelevision distribution platforms.

Network technologies enable various types of remote human interaction.For example, people may use text messaging or audio or video content forremote chatting, reporting, conferencing, etc. In some instances, suchcommunication may have a central host, such as a virtual chat room, areality show, etc. Participants may use phone calls, email, SMSmessages, or online audio or video chat to provide input or feedback tothe central host. Participants may also communicate through socialnetworking sites. In some cases, communications may relate to televisionprograms that the participants may view, for example, on a conventionaltelevision. Such television programs may have their own socialnetworking webpages that provide information about the program, provideadditional content related to the program, and/or that facilitatefeedback and communications among viewers.

Viewers typically view professionally produced television programs(“programs”) and motion pictures (“movies”) using traditional televisionservices. Programs, such as various types of game shows, are typicallydistributed to traditional television service providers by so-called“television networks,” who possess the legal rights necessary todistribute the programs, and who are sometimes also involved inproducing the programming. Those who provide transmission services fortelevision, and provide television service to viewers, may include“carriers” or Multi-Service Operators (“MSO”), direct-broadcastsatellite (DBS) providers, and/or telecommunication (“Telco”) providers.

Television transmission or distribution systems used by traditionalcarriers of television programming include terrestrial broadcaststations, satellite television, and cable television systems, as well astelecom delivery network services such as VDSL and FiOS offered overbroadcast telecommunication or data networks, whose operators providetelevision services similar to what are offered by cable and satellitetelevision service providers. Standards have also been formulated, orare in the process of being formulated, for using Internet protocols andthe public Internet to distribute television programming using “live”IP-multicast or IP unicast streams that can be received by anyone withany type of broadband data connection to the Internet.

SUMMARY

Implementations of the present disclosure are generally directedcreating various forms of content on social media websites andpublishing that some content either on the same social media website,other social or general media websites, or to television distributionplatforms.

In one general aspect, a method for recording and publishing contentscan include providing, on a first social networking webpage hosted on asocial networking system, an imbedded link to media recorder softwarestored on a video management server system external to the socialnetworking system; receiving a request to invoke the media recordersoftware within a displayed instance of the first social networkingwebpage; providing, using the media recorder software on the externalvideo management server system, a video recorder interface through anapplication programming interface on the social networking system inresponse to the request, wherein the video recorder interface is adaptedto allow a user to record video to the external video management serversystem from within the displayed instance of the first social networkingwebpage; receiving a video stream at the external video managementserver system, wherein the video stream defines video captured throughthe video recorder interface; generating a video file using the receivedvideo stream; storing the video file on the external video managementserver system; selecting the stored video file for distribution via oneor more communication networks; and providing, using media playersoftware on the server system and an application programming interfaceon one or more web server systems external to the video managementserver system, the stored video file for display within a plurality ofdisplayed instances of one or more webpages hosted on the one or moreexternal web server systems. Other aspects include correspondingapparatus, systems, and computer software, stored on a computer storagemedium and executable on one or more computers.

These and other embodiments can each optionally include one or more ofthe following features. The one or more external web server systemsinclude the social networking system. Information associated with useraccounts for a plurality of displayed instances of one or more webpageshosted on the social networking system and/or information associatedwith a user account for the displayed instance of the first socialnetworking webpage is received at the external video management serversystem. The video file is transcoded to an appropriate video file formatautomatically depending up an intended destination. A quantity ofrequests to access the video file using the media player software istracked, and the tracked quantity of requests to access the video fileis used to select the video file for inclusion on a second socialnetworking webpage hosted on the social networking system. User ratingsof the video file are monitored using the media player software, and theuser ratings of the video file are used in selecting the video file forinclusion on a second social networking webpage hosted on the socialnetworking system. Viewer response to the video file is monitored usingthe media player software; the viewer response is used in selecting thevideo file for inclusion on an additional webpage hosted on a web serversystem external to the video management server system; and the storedvideo file is provided for display within a plurality of displayedinstances of the additional webpage in response to the selection of thevideo file for inclusion on the additional webpage. The additionalwebpage is associated with a television program. Viewer response to thevideo file is monitored using the media player software, and the viewerresponse is used in selecting video defined in the video file forinclusion in a linear television program. A video is selected from aplurality of videos received through the media recorder software on theexternal video management server system for inclusion in a televisionprogram. Access to editing tools is provided through the media playersoftware, wherein the editing tools allow a user to edit the storedvideo file. The video recorder interface is provided in an iFrame withinthe first social networking page. A request is received, through thevideo recorder interface and using the media recorder software on theexternal video management server system, to distribute the video filevia one or more web services external to the social networking system. Arequest is received, through a frame displayed using the external videomanagement server system using an application programming interface onthe one or more web server systems, to distribute the video file via oneor more web services external to the social networking system.

In another general aspect, a computer storage medium is encoded with acomputer program. The program includes instructions that when executedby data processing apparatus cause the data processing apparatus toperform operations including providing a video recorder interface usingan application programming interface on a social networking system,wherein the video recorder interface is adapted to allow users to recordvideo streams to a video management server external to the socialnetworking system and the video recording interface is included withindisplayed instances of a social networking webpage hosted on the socialnetworking system; receiving a plurality of video streams, wherein eachvideo stream defines video captured through the video recorder interfaceon a respective displayed instance of the social networking webpage;generating a plurality of video files based on the received videostreams; storing the video files on the video management server;selecting one or more of the stored video files for inclusion on thesocial networking webpage; and providing, using an applicationprogramming interface on the social networking system, the selectedstored video files for display within a plurality of displayed instancesof the social networking webpage. Other aspects include correspondingapparatus, systems, and methods.

These and other embodiments can each optionally include one or more ofthe following features. Information associated with a user account forat least some of the displayed instances of the social networkingwebpage is received and stored. Access to the stored video files isprovided over one or more communication networks for display on a userdevice; viewer responses to the stored video files are monitored; andthe viewer responses are used in selecting the stored video files forinclusion on the social networking webpage. The viewer responses includeat least one of viewing a respective one of the stored video files orproviding a rating of a respective one of the stored video files. One ormore of the stored video files are selected for inclusion on the socialnetworking webpage based upon predefined criteria relating to viewerresponses. Access to editing tools is provided, wherein the editingtools allow at least one of a user or a producer to edit one or more ofthe stored video files. At least one video corresponding to the selectedvideo files is transmitted for inclusion within a linear televisionprogram.

In another general aspect, a system includes one or more serversoperable to interact with a user device and to provide a video recorderinterface using an application programming interface on a socialnetworking system, wherein the video recorder interface is adapted toallow users to record video to a server external to the socialnetworking system and the video recorder interface is included withindisplayed instances of a social networking webpage hosted on the socialnetworking system; receive a plurality of video streams, wherein eachvideo stream defines video captured through the video recorder interfaceon a respective displayed instance of the social networking webpage;generate a plurality of video files based on the received video streams;store the video files; and provide, using an application programminginterface on the social networking system, selected stored video filesfor display within a plurality of displayed instances of one or morewebpages hosted on the social networking system. Other aspects includecorresponding apparatus, methods, and computer software, stored on acomputer storage medium and executable on one or more computers.

These and other embodiments can each optionally include one or more ofthe following features. The system includes a video hosting server fortransmitting the stored video files over at least one network to a userdevice. The one or more servers are further operable to select one ormore of the stored video files for inclusion on the social networkingwebpage based on activity detected by the video hosting server.

Particular embodiments of the subject matter described in thisspecification can be implemented so as to realize one or more of thefollowing advantages. A link to a proprietary media player can beembedded in a social networking webpage. The link can allow users toaccess the proprietary media player based on their credentials foraccessing the social networking webpage. The media player can includefunctionality for recording, playback, and editing of videos usingproprietary media player software that resides on an external serversystem, but made available through an embedded iframe on a socialnetworking webpage, and that provides the media player within a socialnetworking webpage. For example, a social networking webpage associatedwith a television program can allow users to record videos directly toan external video hosting server associated with the proprietary mediaplayer and/or the television program. Links to the videos can beembedded in the user's own social networking page, a social networkingpage associated with the television program, a social networking pageassociated with a television network, a social networking pageassociated with an advertiser or ad sponsor of a television show ortelevision network, and other websites. Users can view the videos on thesocial networking web page, and the external video hosting server cantrack the number of times each video is viewed. In addition, the videohosting server can track information relating to each viewer (e.g.,demographic or statistical information), as provided through anapplication programming interface with the social networking provider.Advertisements or other information (e.g., pre-roll, post-roll, orticker-type advertisements or information) can also be provided alongwith the videos and the number of views can be tracked (e.g., fordetermining a number of advertising impressions). Videos can be editedby the user using editing functionalities of the media player software,either through editing tools built into the video playback interface orusing a separate editing interface built into the media player softwareor provided by separate media editing software. Videos can also beedited by an administrator or producer. Television program producers canleverage information about views or ratings of videos to identify videosfor inclusion on a television program and/or on a social networking orother website associated with the television program. Advertisers canleverage information about views or ratings to target specificdemographic profiles with appropriate advertising messages. Users canforward recommendations to view a particular video through servicesexternal or internal to the social networking system. Entities can moreconveniently, more safely, and more accurately control content posted ontheir social networking webpages leading to reduced expenditure tomonitor their social networking webpages.

The details of one or more embodiments of the subject matter describedin this specification are set forth in the accompanying drawings and thedescription below. Other features, aspects, and advantages of thesubject matter will become apparent from the description, the drawings,and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a functional block diagram of an architecture for embedding amedia player in a social networking website.

FIG. 1B illustrates a social networking webpage displayed in the userdevice of FIG. 1A.

FIGS. 2A and 2B illustrate a flowchart of recording and presentingcontents in a social networking website from a server system.

FIG. 3 is an example displayed instance for presenting contents in asocial networking website from a server system.

FIG. 4 is a flowchart of recording and viewing contents in a socialnetworking website in a user device.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

Implementations of the present disclosure are directed to systems andmethods of allowing users to record videos within a social networkingwebpage. Using a software development kit and/or application programminginterface provided by the social networking provider, for example, athird party can embed a link within a social networking webpage. When auser selects the link, a frame within the page can be opened in which amedia recorder hosted by a third party server can be displayed. Themedia recorder can be implemented in software (e.g., as described inU.S. patent application Ser. No. 13/185,471, entitled “Content Creationand Distribution System,” the contents of which are incorporated hereinin their entirety), which can be used to record videos at the thirdparty server using a camera built into or otherwise connected to a usercomputer, e.g., a smart phone, laptop computer, desktop computer, orother computing device. For example, video content can be captured on auser device and formatted according to predetermined constraints using aweb application or an installed application. The video content, forexample, can be submitted for potential inclusion in a televisionprogram. By formatting the video content according to predeterminedconstraints, the video content can be transcoded into a formatappropriate for inclusion in a linear television programming scheduleusing an automated transcoding workflow corresponding to thepredetermined format to ensure that the transcoded video file complieswith requirements of a particular television broadcaster or televisionuplink facility. The video can also be automatically transcoded into oneor more formats appropriate for alternative distribution media (e.g.,Internet distribution or inclusion in a movie production). The videofile can undergo an automated review process to check for inappropriatecontent and/or to confirm compliance with formatting requirements. Thevideo file can also undergo a manual review for content marked aspotentially inappropriate and/or to select among available videos forinclusion in a television production. Transcoding and review can beperformed in accordance with attributes associated with the videocontent (e.g., identifying a particular television program that thevideo content is intended to potentially be included in) and/or usercredentials for a user that submitted the content (e.g., usercredentials indicating whether the user is authorized to submit contentfor Internet and/or television distribution).

The media recorder and/or a separate media player may include built-infunctionality to allow the recording user to edit the video (e.g., trimvideo, add still photos, add audio, introduce special effects, etc.).

A media player can also be used to view videos once they are capturedand stored on the third party server. For example, a video captured by aparticular user can be stored on the external server system and can bemade available for viewing through an embedded iframe within a socialnetworking webpage associated with the particular user (e.g., the user'swall in Facebook®) and/or through other webpages or online accesstechniques (e.g., YouTube®, Twitter®, or a private-label webpage). Whena user selects the video for viewing, the media player is invoked, andthe video is played (e.g., streamed) on the requesting user's device. Ifthe viewing user has authorized sharing of personal information with thethird party that provides the media player (e.g., when invoking themedia player to record a video or in another prior interaction with thethird party server), information about the user (e.g., demographicinformation) can be provided to the third party server in response tothe user selecting the video for viewing.

Particular videos can be selected for inclusion on a social networkingwebpage associated with an entity that may collect videos from numeroususers (e.g., a television show or television network). For example,videos can be selected based on viewing activities for the videos, suchas a number of accessing requests, favorable indications (i.e., numberof clicks on the “Like” button by other viewers), viewer comments orfeedback, etc. Thus, viewing activities for videos on the socialnetworking website can be used as an initial screening of video contentto determine whether the video is potentially desirable for inclusion onan entity's own web site or social networking webpage. The videos, onceselected, may be included on a social networking webpage or otherwebpage for a television show or other entity and may be used, forexample, to further screen videos for potential inclusion in atelevision program or other distribution. An administrative editing andscreening server (e.g., as described in U.S. patent application Ser. No.13/185,477, entitled “Administration of Content Creation andDistribution System,” the contents of which are incorporated herein intheir entirety) may also be used to screen videos (e.g., forinappropriate content) and/or edit videos before posting the videos on awebpage or including the videos in a television program.

FIG. 1A is a functional block diagram of an architecture 100 forembedding a media recorder in a social networking website. Thearchitecture 100 includes a user device 110, a social networking system120, a video management server system 130, and a private label serversystem 170. The architecture 100 can be provided as a set ofinterconnected software and server systems. Communications between theuser device 110, the social networking system 120, the video managementserver system 130, and the private label server system can be performedacross or via network 140. In general, the architecture 100 can providea system for recording and publishing video content on a socialnetworking platform or on other web-based or television-based platforms.The video content can also include audio content and can include, forexample, full-motion 24-30 frames per second video with constant orvariable bit rate audio. The video content can be viewed or displayed ona graphical user interface (GUI) 150 displayed on a display device 152.The display device 152 may be physically attached to the user device110, and the GUI 150 may display information received from both thesocial networking system 120 and the video management server system 130,or from both the private label server system 170 and the videomanagement server system 130.

At a high level, a web server 121 of the social networking system 120provides one or more social networking webpages 155(1), 155(2), 155(3)to the user device 110. Users can interact with contents on each socialnetworking webpage 155, for example, by selecting hyperlinks, icons,and/or images or by entering information in available fields. The socialnetworking webpage 155 may include a link that launches media recordersoftware 137 stored on the server system 130. The media recordersoftware 137 provides functionality enabling users to record a videousing a video recording interface that provides recording controls suchthat the recorded video is stored on the server system 130 (e.g., thevideo is streamed to the server system 130 as described in U.S. patentapplication Ser. No. 13/185,471). The recorder software 137 can usescripts or other software instructions, for example, that enableinterfacing with an integrated camera 115 and microphone 117 on the userdevice 110, and users may further edit recorded videos using a videoediting interface provided by editing software 139 on the server system130.

Recorded videos can be made available for viewing by other users (e.g.,after the video is approved through an administrative review or afterthe submitting user authorizes distribution) on other pages of thesocial networking system (e.g., the submitting user's personal socialnetworking webpage) or on other websites. Viewing may require use ofmedia player software 138 and/or retrieving videos from a video hostingserver 135 of the video management server system 130. The videomanagement server system 130 can monitor viewer activities related tothe videos accessed from the video hosting server 135. For example, thevideo hosting server 135 can track the number of times a video is viewedand can, in some cases, track demographic information relating to theindividual viewers. In addition, viewers may indicate they like thevideo by registering an indication of approval on a counter, byproviding comments or ratings, or other methods. Such indications can beprovided to and/or stored on the social networking system 120 or thevideo management server system 130. For example, viewer feedback can beprovided to and stored on the social networking system 120, and thevideo management server system 130 can access the feedback through anapplication programming interface 125 of the social networking system120. The video management server system 130 can determine if some of thevideos have satisfied certain publication criteria and select those thathave satisfied the criteria for inclusion in displayed instances 153(see FIG. 1B) of the social networking webpage 155, other mediaassociated with the video management server system 130, or on a privatelabel server system 170. Additional details of the components aredescribed below.

The user device 110 includes a processor 111, a memory 113, a camera115, a microphone 117, and an interface 119, and can include other inputand output devices. The camera 115 and the microphone 117 can enable theuser device 110 to capture videos. The web browser 116 can be any webbrowser capable of running on the operating system on the user device110 and enable the user device 110 to display social networking webpages155 and other webpages. The interface 119 can enable the user device 110to connect with remote servers to receive and transmit data (e.g., videodata, user data, web page content, etc.). Webpage content and other datacan be stored in the memory 113.

The social networking system 120 includes a web hosting server 121, anapplication server 123, an application programming interface 125, andmemory 127. In general, the social networking system 120 can allowregistered users to sign on (e.g., using a user name and password) toaccess social networking services. For example, the social networkingservices may include Facebook®, Twitter®, Myspace®, Google+®, Renren®,and/or other available social networking services. In someimplementations, the social networking system 120 enables users tocreate an account based on their social identities and provides varioussocial networking services to the registered user through the account.For example, social networking services can include seeking othermembers of similar social identities and making connection with thosemembers, interacting with the connected members via text messaging,blogging, information sharing, making recommendations, and othercommunications.

The web hosting server 121 can provide one or more social networkingwebpages 155(1), 155(2), 155(3) through which users can access servicesprovided by the social networking system 120. For example, the webhosting server 121 can host a registration webpage that allows users toregister with the social networking system 120. The social networkingsystem 120 can also provide a first social networking webpage 155(1) tothe user device 110. For example, the first social networking webpage155(1) can be associated with an entity, such as a television program,and can include web content associated with the entity. In someinstances, the first social networking webpage 155(1) can be associatedwith the registered user and can include web content. The web contenthosted in the social networking services can be provided directly by thesocial networking system 120 and can include links embedded in the firstsocial networking webpage 155(1) that can be used to retrieve contenthosted by third parties. User information and other content of thesocial networking webpage 155 may be stored in memory 127 and served touser devices by the web hosting server 121, while multimedia plug-ins,games, and other third party applications may be provided by theapplication server 123 and/or accessed from an external server (e.g.,the video management server system 130) through an applicationprogramming interface 125. The social networking system 120 may includeone or more such application programming interfaces 125 (and/or softwaredevelopment kits) through which third parties can define applications orservices that may be hosted on external third party servers.

In some implementations, the social networking webpages 155 can provideusers with access to a thin client application (or web application) thatdisplays information and allows users to interact with available socialnetworking services. In some embodiments, the application server 123 cansupport the web hosting server 121 for running the thin clientapplication. The application server 123 can also provide applicationscreated and published by third parties, as well as local applicationswithin the social networking system 120.

The application programming interface 125 can provide access toapplications hosted on external servers. For example, third parties maydevelop applications for users registered with the social networkingsystem 120 to submit information (e.g., audio/visual content), interactwith other users, and conduct other activities. The applicationprogramming interface 125 can provide access to video players,recorders, games, calendars, blogs, messages, and other applications tothe social networking webpage 155. For example, the applicationprogramming interface 125 and/or a software development kit can be usedto define, within the memory 127 of the social networking system 120, anappearance (e.g., text, icons, or images) of an embedded link thatappears on the social networking webpage 155 and a network address fromwhich a web application can be retrieved when the link is selected. Theapplication programming interface 125 can provide access through theembedded link in the social networking webpage 155 to web applicationsstored on the video management server system 130, including the mediarecorder software 137, the media player software 138, and the editingsoftware 139. When a web application is invoked by selecting theembedded link, the web application can be executed on the videomanagement server system 130, resulting in display of a correspondingapplication interface within a frame of the social networking webpage155. Thus, the application programming interface 125 can allow thirdparty entities to embed links to external applications or serviceshosted on a third party server. The application programming interface125 can facilitate the delivery of content (e.g., a video recording userinterface, a video playback user interface, or an editing userinterface) that is displayed within social networking webpages 155 andthe exchange of information (e.g., user demographic data, video viewingdata, feedback data, link or image data for display within the socialnetworking webpages 155) between the social networking system 120 andthe server system 130. The application programming interface 125 mayinclude specifications for routines, data structures, object classes,variables, and other objects. The application programming interface 125specification can take various forms, including an InternationalStandard such as POSIX, or vendor documentation such as the MicrosoftWindows API, or the libraries of a programming language, e.g. StandardTemplate Library in C++ or Java API.

The memory 127 of the social networking system 120 stores data andprogram instructions for the social networking webpage 155. In someinstances, the web hosting server 121 or the application server 123 mayinclude its own memory or may use the memory 127. The memory 127 mayinclude any type of memory or database module and may take the form ofvolatile or non-volatile memory including, without limitation, magneticmedia, optical media, random access memory (RAM), read-only memory(ROM), removable media, or any other suitable local or remote memorycomponent. The memory 127 may store various objects, object models, anddata, including classes, frameworks, applications, backup data, businessobjects, jobs, webpages, webpage templates, database tables, processcontexts, repositories storing services local to the social networkingsystem 120 and any other appropriate information including anyparameters, variables, algorithms, instructions, rules, constraints, orreferences thereto associated with the purposes of the social networkingsystem 120 and its functionality. In some implementations, including ina cloud-based system, some or all of the memory 127 may be stored remotefrom the social networking system 120 and communicably coupled to thesocial networking system 120 for usage. As described above, memory 127can include one or more meta-models associated with various objectsincluded in or associated with the underlying platform. Specifically,memory 127 can store items and data related to the social networkingwebpage 155 and/or other collaboration-related entities or components.

The video management server system 130 includes a video management webserver 131, an activity tracking server 132, an administration curatorserver 133, a video hosting server 135, and a video transcoding server136. The video management web server 131 can enable the user device 110to capture and transmit video data to the video management server system130. For example, the video management web server 131 can provide accessto media recording software 137 to enable the user device 110 to be usedfor video creation. The video management web server 131 can also provideaccess to media player software 138 to enable playback of videos on theuser device 110 and to editing software 139 to provided editing toolsfor users to edit the created videos. The media recording software 137can be accessed on the user device 110 as a thin client application suchthat a recording interface is displayed through the web browser 116 ofthe user device 110 and used to capture audio/video data that istemporarily buffered in the memory 113 of the user device 110 and sentto the video management server system 130 as a video stream as theaudio/video data is captured (as described in U.S. patent applicationSer. No. 13/185,471). For example, during recording, and as the videocamera generates video data, the video data can be cached andtransmitted to the one or more back-end servers. The web-based recordermay capture and cache sufficient video data to retain broadcast qualityrequirements and transmits the video data to the one or more back-endservers in quasi-real time. More specifically, as video data isgenerated, the video data is cached and a predetermined amount of videodata is intermittently transmitted from the client computing device tothe one or more back-end servers. The pre-determined amount of videodata that is transmitted can be determined based on the availabletransmission bandwidth instead of, for example, adapting image qualityto meet limited bandwidth availability. The video stream can be receivedby the video management server system 130, and the video hosting server135, for example, can generate and store a video file that correspondsto the received video stream. In general, the media recording software137, the media player software 138, and the editing software 139 can beinvoked through the application programming interface 125 of the socialnetworking system 120 and displayed within a frame of a socialnetworking webpage 155. Similarly, the media recording software 137, themedia player software 138, and the editing software 139 can be invokedthrough the application programming interfaces on other webpages (e.g.,hosted by a private label server system 170 as further described below).

In general, as described in U.S. patent application Ser. No. 13/185,471,the system 100 can provide users with video file recording and editingcapabilities that provide an easy-to-use interface, do not require theusers to have knowledge of video formatting or computer file systems,and facilitate automatically uploading of video files or other contentto a server. Such uploading can use a web server-based thin clientapplication capable of displaying a user interface through a browser ona user device or a specialized application capable of running on a userdevice (e.g., on a mobile device or a tablet computer). In either case,the application can interface with user device's native recordingcapabilities to capture either high definition (“HD”) format or standarddefinition (“SD”) format video files. The video file recording andediting software can guide the user through a video file creation andsubmission process that captures video via a video camera eitherbuilt-in, or connected to, the user device to create a video file thatmeets requirements for submission to a content distribution sub-system,and submits the video file to the content distribution sub-system.

The system can thus facilitate convenient creation and seamlessuploading of crowd-sourced video files (e.g., audio-visual contentcreated for inclusion on a social networking webpage and/or in responseto a broadcasted request for videos relating to a particular topic) orother user-generated content. The system can ensure that the submittedvideo files satisfy certain parameters so that the files have a qualitylevel appropriate for inclusion in linear television programming and sothat the files can be automatically and conveniently transcoded into oneor more video file formats (in accordance with relevant frame rates, bitrates, etc., which may be dependent on the intended destination of thecontent) according to the intended destination.

After video files are created and stored on the video management serversystem 130, the media player software 138 can be invoked to play thevideo on the user device 110 used to capture the video or on a differentuser device 110. In some implementations, the media player software 138can be executed on the video management web server 131 such that thevideo is displayed on the user device 110 in a thin client applicationenvironment (e.g., the video file is executed by the media playersoftware 138 on the video management web server 131 and is sent to theuser device 110 as a video stream). The video may be displayed within aframe (e.g., an iFrame) of a social networking webpage 155. For example,a still image of the video and/or a link to the video can be displayedon a social networking webpage 155. When a user selects the image orother link, a video playback frame can be displayed within the socialnetworking webpage 155, although the contents of the frame (i.e., thevideo) may be provided by media player software 138 executed on thevideo management web server 131. In other implementations, the mediaplayer software 138 can be stored locally in the memory 113 of the userdevice 110 and used to play a video file sent from the video managementserver system 130 to the user device 110. The editing software 139 canalso be invoked on a user device 110 to display an editing interfacethat includes editing tools for editing contents of the video file. Aswith the media player software 138, the editing software 139 can beexecuted on the video management web server 131 such that the video isdisplayed on the user device 110 in a thin client applicationenvironment or can be stored locally in the memory 113 of the userdevice 110 and used to edit a video file sent from the video managementserver system 130 to the user device 110. Both the media player software138 and the editing software 139 can be provided to a user device 110within a frame of a social networking webpage 155 hosted on the socialnetworking system 120 or within a frame of a webpage hosted on theprivate label server system 170.

As users access video files stored on the video management server system130, the server system 130 can receive and monitor viewer activitiesrelated to the videos. For example, because the videos are stored withinthe server system 130, the server system 130 can monitor access requestsfor the videos (submitted through the social networking system 120 orother host sites) and make operational decisions based on the vieweractivities. For example, viewer activities can include indicating thatthe viewer likes the video, leaving text comments to the video,attaching responding media to the video, sharing the video, repostingthe video on other websites, and other activities. The activity trackingmodule 132 can perform monitoring of such access requests and otherviewer activities related to the video being played, and viewerinformation and viewing activity data can be used to make decisionsregarding further publications of the video (e.g., on other websites orwebpages within the same website or web server system).

In some implementations, the activity tracking module 132 monitorsactivities related to the media player software 138 to determine ifcertain video clips have satisfied predetermined criteria forpublication in other displayed instances. For example, activity trackingmodule 132 can monitor if a certain video has been liked by apredetermined number of viewers (e.g., a thousand viewers), or at aparticular rate (e.g., a thousand views in 2 weeks). The monitoredviewership may be a result of its own popularity among viewers (e.g.,funniest home video), its relevance to current news topics (e.g., thelatest news), its correspondence to certain media (e.g., correct answersto a TV quiz), or other reasons.

The administration curator server 133 may perform automatic screening ofvideo content (e.g., for inappropriate content) and may allow anadministrator or television producer to make manual decisions regardingInternet publication, inclusion on a television program, or editing. Forexample, the administration curator 133 may be used to implement thetechniques and systems described in U.S. patent application Ser. No.13/185,477. In some implementations, the administration curator server133 can be used to screen video content in a video file before the videofile is made available for viewing from the video management serversystem 130 (e.g., by anyone other than the user who recorded the video).Such review can ensure, for example, that the operator of the videomanagement server system 130 or a producer of a television programavoids distribution of content that does not meet the operator's orproducer's standards for quality or appropriateness. In addition, theapproval process can allow an administrator or producer to control videocontent posted to a social networking webpage or other webpage. In someimplementations, the approval process may occur both in phases. Forexample, an administrative operator of the video management serversystem 130 may review and approve the video before the video is postedeven on the submitting user's selected distribution channel(s) (e.g.,social networking webpages associated with the user's respective socialnetworking accounts), and an administrator or producer associated with apublishing entity may review and approve the video before the video isposted on the entity's social networking website(s) and/or private labelwebsites (e.g., after attracting the attention of the entity throughtracking activity). The former initial review may be allow the operatingentity of the video management server system 130 to ensure, for example,that the video management server system 130 is not associated withinappropriate content (e.g., to avoid damaging the reputation of thevideo management server system 130 and/or advertisers on the system130). The latter secondary review may allow the publishing entity tocontrol content on its social networking websites and/or other privatelabel websites.

The video hosting server 135 in the video management server system 130can provide storage, organization, and connection tools for the videomanagement web server 131. In addition, a video transcoding server 136can provide conversion tools for converting incoming video streamsreceived from user devices into a video vile. For example, when userscreate audio/video content using the media recorder software 137, thevideo transcoding server 136 can receive the incoming video stream andautomatically convert the video stream into a video file having one ormore formats. The video stream can be automatically converted into oneor more formats appropriate for further distribution as described inU.S. patent application Ser. No. 13/185,471. The video file can betranscoded to a format that is appropriate for a designated downstreamuse. In addition, an image file can be generated and can be provided inJPEG format or another appropriate image file format. The image file isused as a thumbnail image representing the video file. In someimplementations, the video hosting server 135 receives a multimediavideo stream from the media recorder software 137 in real time as thecontents are created. In some other implementations, the multimediacontents can first be created locally in the user device 110 anduploaded to the video hosting server 135 after creation. The videohosting server 135 stores the video files for subsequent editing throughthe editing software 139, review and approval through the administrationcurator server 133, and viewing through the media player software 138.The video hosting server 135 can enable users to create search terms aswell as other tag information along with the video for organization. Forexample, the video hosting server 135 can include databases thatcategorize videos based on common features, as well as common searchableterms or keywords. The video hosting server 135 can insert pre-roll,post-roll, banners, tickers, or other content to be served to viewersfor display with a video hosted on the video hosting server 135 (e.g.,at the direction of curators or administrators). Content can alsoinclude tools that allow users to distribute a video to other users(e.g., by sending a message linking to the video through electronic mailor through a social media service or posting a link to the video on awebpage). Such content can be included with the video when it isrecorded or viewed through a social networking webpage 155 or otherwebpage. For example, the video hosting service 135 may interface withthe web server 121 through the application programming interface 125 toprovide video and other content to be displayed in an iframe or otherframe embedded within a social networking webpage 155. Distributiontools displayed within the frame of the social networking webpage 155can be used to cause the video hosting server 135 to automaticallydistribute a video to other users using user profile data stored on thevideo hosting server 135. For example, the user profile data may defineuser account and/or login information for other social media services oremail services that enable the video hosting server 135 to distributethe video in response to a user selection of the distribution tools. Thedistribution tools can allow a user to recommend a video to othersthrough the external video management server system 130, which, in turn,distributes the recommended video (or links thereto) using one or moresocial networking systems or other web server systems. Such capabilitiesmay also be provided on other webpages (e.g., hosted on a private labelserver system 170) other than those hosted on the social networkingsystem 120. By hosting videos on the external video management serversystem 130, the he video hosting service 135 can also track the number,frequency, and destination of video playbacks and can track advertisingimpressions (e.g., pre-rolls, post-rolls, etc.) associated with suchvideo playbacks to receive credit for advertising impressions fromadvertisers. The external video management server system 130 and anyentities on behalf of which the system 130 hosts content can thus obtainbetter information about viewing of videos than if the videos werehosted on the social networking system. Similarly, the video managementserver system 130 can obtain information regarding recommendations thatare provided through the video management server system 130, such as thenumber and destination of such recommendations.

The private label server system 170 can include a web hosting server 172and an application programming interface 174. In some implementations,media hosted on and/or recorded through the video management serversystem 130 can be distributed through the private label server system170. For example, videos can be selected, after meeting certain criteriaassociated with the activity tracking server 132, for furtherdistribution through a private label website hosted on the web hostingserver 172. In some implementations, such videos can be stored on theprivate label server system 170 and distributed using a media playerhosted on the private label server system 170 or downloaded onto userdevices 110. In other implementations, the videos can be accessedthrough a private label website through the application programminginterface 174, which can be similar to the application programminginterface 125 of the social networking system 120.

Functionalities of each of the social networking system 120, the videomanagement server system 130, and the private label server system 170can be segmented in others ways across multiple servers or can becombined in different ways than described above (e.g., some of thefunctions described as being performed by different servers could becombined in a single server), and the various server systems may alsoinclude other functionalities than described above.

FIG. 1B illustrates a social networking webpage displayed in the userdevice of FIG. 1A. Typically, the user device 110 accesses the socialnetworking services provided on the social networking system 120 via asocial networking webpage 155 displayed on the GUI 150. The socialnetworking webpage 155 can be displayed on a particular user device 110as a displayed instance 153 that displays the currently requestedcontent. Generally, a displayed instance 153 of the social networkingwebpage 155 includes social media content 157 hosted by the socialnetworking system 120. The displayed instance 153 may also include oneor more embedded links 161 that are each defined using a softwaredevelopment kit, application programming interface 125, and/or otherprogramming tools supported by the social networking system 120. Anembedded link can be used to invoke the media recorder software 137, themedia player software 138, and/or the editing software 139. For example,when the social networking web hosting server 121 receives a requestfrom the user device 110 to invoke media recorder software 137 withinthe displayed instance 153, a video management frame 159 is displayed inthe displayed instance 153. Users may request to invoke the mediarecorder software 137 by clicking on an icon or a link that includes aURL for the media recorder software 137. In response, a video recorderinterface is instantiated within the video management frame 159 throughthe application program interface 125 that enables integration with thedisplayed instance 153 of the social networking web page 155. Theapplication program interface 125 allows the video recorder interface toappear in the displayed instance 153 as an integral part of the socialnetworking webpage 155. For example, in some implementations, the videomanagement frame 159 can be displayed using an iFrame within the socialnetworking webpage 155 or other webpage. Other formats may also be used.The video recorder interface allows a user to record video to the serversystem 130 using the media recorder software 137 that executes on theserver system 130. The media player software 138 can play the videosstored in the video management server system 130 through a media playerinterface within the video management frame 159 of the displayedinstance 153. In some implementations, the media player software 138 canalso be accessed through other video-enabled sites or services. Theediting software 139 can be used to edit videos stored in the videomanagement server system 130 through an editing interface within thevideo management frame 159 of the displayed instance 153.

The editing user interface can provide editing tools for users to editvideo content. The editing tools can include trimming, cutting,overlaying, combining, interlacing multiple and/or different multimediacontents. For example, users may combine photos, videos, audios,animations, computer graphics, subtitles, texts, and other contents toform a video clip. The edited videos can be saved at the video hostingserver 135 and served to user devices as the video is published.

Although the content of the video management frame 159 and the socialnetworking webpage 155 are supported by two different server systems(i.e., the video management server system 130 and the social networkingsystem 120, respectively), they can be seamlessly integrated indisplayed instances 153 of the social networking webpage 155. Forexample, users or viewers may perceive the content of the videomanagement frame 159 as part of the social networking webpage 155. Insome implementations, in response to a user selecting a link or an iconon the social networking webpage 155 to invoke an initiation of themedia recorder software 137 (e.g., at least if this operation has neverbeen performed by the particular user), the social networking webpage155 may prompt a message to the user explaining terms and conditions forusing the media recording software 137. The user may be required toaccept the terms and conditions before being able to proceed with theoperation. The user may grant the media recorder software 137, as wellas the video management server system 130, limited rights to accessaccount information of the user. The video management server system 130can then, based on the profile information as well as online activityprovided by the user, associate received video and access requests forstored video with user profile information and/or automatically tailorthe media recording software 137, media player software 138, or editingsoftware 139 for the user. For example, the media player software 138may offer an advertisement that is likely to be of interest to the user.The advertisement can be provided from the server system 130 or fromsome other source. The operator of the server system 130 can thus trackadvertising impressions and can receive credit for the advertisingimpressions.

The social networking webpage 155 and the video management frame 159 canbe displayed in a GUI 150 displayed on a display device 152 of the userdevice 110. The GUI 150 may be operable to, for example, allow the userdevice 110 to interact with at least a portion of the social networkingwebpage 155. Generally, the GUI 150 can provide with an efficient anduser-friendly presentation of social network information provided by orcommunicated within the social networking system 120. The GUI 150 mayinclude a number of customizable frames or views having interactivefields, pull-down lists, and buttons operated by the user. For example,the GUI 150 may provide interactive elements that allow a user tointeract with a particular component within and/or external to thesocial networking webpage 155, such as the media player software 138,for example. Different portions of the corresponding component'sfunctionality may be presented and accessible to the user through theGUI 150, such as through the social networking webpage 155 (e.g., in aweb browser). Generally, the GUI 150 may also provide generalinteractive elements that allow a user to access and to utilize variousservices and functions of a particular component.

In some instances, the social networking webpage 155 may be used toaccess various portions of the social networking system 120. The GUI 150may present the information of the social networking webpage 155 forviewing and interaction. In general, the GUI 150 is typicallyconfigurable, supports a combination of multimedia contents (photos,videos, audios, computer graphics, and other web contents), and is ableto build real-time portals, where tabs are delineated by keycharacteristics (e.g., site or micro-site). Therefore, the GUI 150 caninclude any suitable graphical user interface, such as a combination ofa generic web browser, intelligent engine, and command line interface(CLI) that processes information in the platform and efficientlypresents the results to the user visually.

Although illustrated as a single user device 110 in the architecture100, the architecture 100 generally includes multiple user devices 110that provide GUIs 150 for interacting with the social networking system120 using instances of the social networking webpage 155. The userdevice 110 can be any computing device operable to connect to orcommunicate with the social networking system 120 and the videomanagement server system 130 using a wireline or wireless connection viathe network 140, or another suitable communication means or channel. Asused in this description, the user device 110 is intended to encompass apersonal computer, touch screen terminal, workstation, network computer,kiosk, wireless data port, smart phone, personal data assistant (PDA),one or more processors within these or other devices, or any othersuitable computer. For example, the user device 110 may include acomputer that includes an input device, such as a keypad, touch screen,mouse, or other device that can accept user information, and an outputdevice that conveys information associated with the social networkingwebpage 155, including digital data, visual information, or the GUI 150.

FIGS. 2A and 2B illustrate a flowchart of a process 200 for recordingand presenting content in a social networking website from an externalserver system. The flowchart 200 represents operations that can beperformed by the social networking system 120 and the video managementserver system 130 as shown in FIG. 1A. Although the process 200 isgenerally described in the context of capturing a single video file froma single user, the process 200 can be used in connection with receivingvideo streams and generating video files for a plurality of users. At202, a social networking webpage is provided to a user. For example, thesocial networking webpage can include various web content related to theuser's social network, such as, for example, a list of friends,indication of relationship to these friends, their statuses, multimediacontents shared by them or of them, etc. The social networking webpagemay also be a webpage associated with an entity (e.g., a business, atelevision program, etc.). The social networking webpage is hosted on asocial networking system. At 204, a link to media recording software isprovided within a displayed instance of the social networking webpage.For example, the link can be an icon, a text link with a URL, or otherrepresentation that is embedded in the displayed instance of the socialnetworking webpage and that can be selected by the user (e.g., byclicking on the link using a mouse) to cause execution of an application(e.g., a video recording application).

In response to the user selecting the link, a request to invoke mediarecording software within the displayed instance of the socialnetworking webpage is received at 206. The media recording software isprovided by a server system external to the social networking systemthat provides the social networking webpage. On the social networkingwebpage, a message or window may be presented to the user, informing theuser of authorization conditions. At 208, the user confirms theauthorization and user information is received at the server system thatprovides the media recording software. For example, informationassociated with the user's social media user account, such asdemographic information, user identifier, user name, etc., is receivedat the server system that provides the media recording software. Theinformation can be stored for subsequent use in identifying the user orattributes of the user (e.g., to associate received video with the useror to identify the user when the user subsequently accesses contentstored on the server system). In this manner, the user's account withthe social networking system can be leveraged to provide information tothe video management server system 130 without requiring the user tohave a separate account with the video management server system 130,which can reduce behavioral friction to submitting videos for potentialinclusion, for example, on a television program or IPTV program, or forsubmission in a contest. In some situations, the server system providesa video recording interface using the media recording software at 210.The video recorder interface is provided through an applicationprogramming interface on the social networking system and is adapted toallow the user to record video to the external server system throughrecording controls of the video recording interface included (e.g., as aframe) within the displayed instance of the social networking webpage.

At 212, the user records a video using the video recorder interface anda corresponding video stream is received at the external server system.For example, the user can record or upload a video using the integratedhardware (e.g., onboard camera, microphone, etc.), or using a dedicateddevice (e.g., camcorder, camera, etc.) connected to the user device, orother appropriate devices. At 214, the video stream is converted into avideo file and stored at the server system. The video stream may betransmitted to the server system and converted into a video file in realtime (i.e., as the video is being recorded). In some implementations,video editing tools are provided by the server system at 216. The videoediting tools can enable users to modify the video file using variousmethods such as cutting, trimming, overlaying, combining differentmedia, etc. The video editing tools can be displayed to the user withinthe social networking website.

At 217, in some cases, the video file is approved for distribution(e.g., through a manual or automated review process). The approvalprocess can result in selecting the video file for distribution on oneor more networks. At 218, access to the stored video file is provided toviewers. Access can be provided through social networking websites andwebsites hosted outside the social networking system on other socialnetworking or private label web server platforms. For example, thestored video file is provided over the Internet or one or more local andglobal networks. The number of access requests can be tracked at theserver system hosting the video file at 220 (e.g., based on accessingthe stored video file from the server system and/or on the retrieval ofthe media player software needed to playback the video). For example,the server system can monitor and log the number, frequency, and otherrelated information associated with requests for the stored video file.The server system can also monitor user/viewer ratings, as well ascomments, responses, and other forms of reply at 222. In many instances,the user/viewer rating can include number of “Likes” provided in thesocial networking services, such as, the like button on Facebook®, the“+1” on Google+®, the star ratings on YouTube®, for example. In someimplementations, the server system can monitor viewer responsesincluding text comments, reposting, sharing in other websites orplatforms, and other user response activities. In some implementations,additional information, such as information associated with the socialnetworking user accounts of users that view the video can also becollected by the external server system. Based on the monitoring data at220 and 222, if the video file satisfies certain criteria, the videofile can be selected for further distribution at 224. For example, oncea video that appears on one or more individual or non-commercial socialnetworking webpages has been viewed a threshold number of times or givena threshold rating, the video can be selected to be included on acommercial social networking webpage (e.g., associated with an entitythat requested video content relating to a particular topic). The videocan also be selected for further distribution via private labelwebsites.

In some implementations, the social networking webpage or other webpageselected for further distribution of the selected video file at 224 isassociated with a television program, such as a game show, a realityshow, or other form of public entertainment. The selected video file ismade available for display on the social networking webpage or otherwebpage at 226. Additional viewer response to the selected video filethrough the additional distribution can be used to determine whether tofurther include the video file in a linear television program orInternet broadcast (e.g., IPTV) and/or to select among a plurality ofsubmitted video files for inclusion in a linear television program orInternet broadcast.

FIG. 3 is an example displayed instance 300 of a social networkingwebpage for presenting content from a video management server system.The example displayed instance 300 can be viewed by viewers in the GUIof their electronic devices. The displayed instance 300 includes a videorecord initiation button 305, a media player software frame 317, acounter of views 310, a counter of “likes” 320, a number of sharingoptions 330, a list of recommendation 340, viewer comments 350, andother features. The video record initiation button 305 can be activatedto cause software on the external video management server system todisplay a video recorder interface for users to create a video clip. Insome implementations, the video record initiation button 305 allowsusers to choose an existing video file to be uploaded.

As illustrated in FIG. 3, the media player software frame 317 includesplayback controls, as well as sharing and rating options. The mediaplayer software frame 317 includes content provided by the externalvideo management server system for display within the social networkingwebpage instance 300. The sharing and rating options enable viewers torespond to the video, for example, by reposting the video to otherwebsites, rating the video with a star rating (e.g., from 1 to 5), andother response methods. The media player software window 317 includes aplayback screen 315, which can be used to display selected videos, aswell as videos captured when the video record initiation button 305 isactivated. Statistics of the current video stream may be displayed atthe counter of views 310 and the counter of “Likes” 320.

Videos that satisfy certain rating or feedback criteria may berecommended in the list of recommendation 340. Viewers may select thesevideos to play within the media player software frame 317. The viewercomments 350 allow viewers to leave their comments in responding todisplayed videos. The viewers may provide comments and respond tocomments after creating a system profile and signed in using the systemprofile. The viewer comments 350 may also be used to compare withcertain criteria for determination of display or publication of thevideo stream on the social networking website.

FIG. 4 is a flowchart of recording and viewing contents in a socialnetworking website on a user device. At 410, a user can access a socialnetworking webpage on a user device. The user device may be a laptopcomputer, a desktop computer, a netbook, a tablet PC, a PDA, a smartphone, or other mobile or non-mobile computer or other electronic devicethat enables basic computing and access to a network accessible to thesocial networking webpage. The user can invoke media recording softwarethat enables a recording interface at 420. For example, the user mayclick on a link or an icon directing to media recording software hostedon a server system remote from the social networking system. The videorecording interface allows the user to record a video clip at 430 andstore the video clip to a server at 440. The video clip may be recordedusing various devices including onboard cameras, dedicated cameras,camcorders, or other equipment. The uploaded video is shared at 450 overone or more networks. The user may choose which network for posting thevideo and include searchable features to promote the video clip. If thevideo becomes well received and earns certain rating that satisfypredetermined criteria associated with the social networking website,the user receives a notification at 460. The notification may includeinformation about participation in programs related to a TV showassociated with the social networking website. The user can then chooseto participate in the TV show at 470.

Implementations of the present disclosure and all of the functionaloperations provided herein can be realized in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Implementationsof the invention can be realized as one or more computer programproducts, i.e., one or more modules of computer program instructionsencoded on a computer readable medium for execution by, or to controlthe operation of, data processing apparatus. The computer readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, a composition of matter affecting amachine-readable propagated signal, or a combination of one or more ofthem. The term “data processing apparatus” encompasses all apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand-alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this disclosure can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer readable media suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto optical disks; and CD ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, implementations of the inventioncan be implemented on a computer having a display device, e.g., a CRT(cathode ray tube) or LCD (liquid crystal display) monitor, fordisplaying information to the user and a keyboard and a pointing device,e.g., a mouse or a trackball, by which the user can provide input to thecomputer. Other kinds of devices can be used to provide for interactionwith a user as well; for example, feedback provided to the user can beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user can be received in anyform, including acoustic, speech, or tactile input.

Implementations of the present disclosure can be realized in a computingsystem that includes a back end component, e.g., as a data server, orthat includes a middleware component, e.g., an application server, orthat includes a front end component, e.g., a client computer having agraphical user interface or a Web browser through which a user caninteract with an implementation of the present disclosure, or anycombination of one or more such back end, middleware, or front endcomponents. The components of the system can be interconnected by anyform or medium of digital data communication, e.g., a communicationnetwork. Examples of communication networks include a local area network(“LAN”) and a wide area network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this disclosure contains many specifics, these should not beconstrued as limitations on the scope of the disclosure or of what maybe claimed, but rather as descriptions of features specific toparticular implementations of the disclosure. Certain features that aredescribed in this disclosure in the context of separate implementationscan also be provided in combination in a single implementation.Conversely, various features that are described in the context of asingle implementation can also be provided in multiple implementationsseparately or in any suitable sub-combination. Moreover, althoughfeatures may be described above as acting in certain combinations andeven initially claimed as such, one or more features from a claimedcombination can in some cases be excised from the combination, and theclaimed combination may be directed to a sub-combination or variation ofa sub-combination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemscan generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations of the present disclosure have beendescribed. Other implementations are within the scope of the followingclaims. For example, the actions recited in the claims can be performedin a different order and still achieve desirable results.

What is claimed is:
 1. A method comprising: receiving a request toinvoke media recorder software within a displayed instance of a videorecorder interface on a mobile device, wherein the video recorderinterface is implemented using an application on the mobile device;establishing a connection to media recorder management software storedon a video management server system; providing, using the media recordersoftware executing on the mobile device, a video recorder interface inresponse to the request, wherein the video recorder interface is adaptedto allow a user to record video from within the displayed instance ofthe video recorder interface to the video management server system asthe video is captured using the media recorder software executing on themobile device; receiving a video stream at the video management serversystem, wherein the video stream defines video captured using controlsincluded in the video recorder interface and wherein the video stream isrecorded using the media recorder software executing on the mobiledevice; generating a video file using the received video stream; andstoring the video file on the video management server system.
 2. Themethod of claim 1 further comprising: selecting the stored video filefor distribution via one or more communication networks; and providing,using a communication interface on one or more web server systemsdistinct from the video management server system, the stored video filefor display within a plurality of displayed instances of graphical userinterfaces that include display elements hosted on the one or more webserver systems.
 3. The method of claim 2 further comprising receiving,at the video management server system, information associated with useraccounts for the plurality of displayed instances of graphical userinterfaces that include display elements hosted on the one or more webserver systems.
 4. The method of claim 2 further comprising tracking aquantity of requests to access the video file through the one or moreweb server systems.
 5. The method of claim 4 further comprising usingthe tracked quantity of requests to access the video file to select thevideo file for inclusion on a different plurality of displayed instancesof graphical user interfaces that include display elements hosted on theone or more web server systems.
 6. The method of claim 2 furthercomprising: monitoring user ratings of the video file using the mediaplayer software; and using the user ratings of the video file inselecting the video file for inclusion on a different plurality ofdisplayed instances of graphical user interfaces that include displayelements hosted on the one or more web server systems.
 7. The method ofclaim 1 further comprising receiving, at the video management serversystem, information associated with a user account for the displayedinstance of the first video recorder interface.
 8. The method of claim 1further comprising selecting a video from a plurality of videos receivedthrough the media recorder software on the video management serversystem for inclusion in a television program.
 9. The method of claim 1wherein the video stream is received at the video management serversystem as the video is captured.
 10. The method of claim 1 furthercomprising: selecting the stored video file for distribution via one ormore communication networks; monitoring viewer response to the videofile; using the viewer response in selecting the video file forinclusion on a web-based content delivery package; and providing, inresponse to the selection of the video file for inclusion on theweb-based content delivery package, the stored video file for displaywithin a plurality of displayed instances of the web-based contentdelivery package.
 11. The method of claim 1 further comprisingtranscoding the stored video file into at least one format differentfrom the format of the stored video file.
 12. The method of claim 1further comprising providing access to video contained in the storedvideo file through a social networking system.
 13. A non-transitorycomputer storage medium encoded with a computer program, the programcomprising instructions that when executed by data processing apparatuscause the data processing apparatus to perform operations including:providing access, through an application programming interface, tocapture software stored on a user-generated content management serversystem, wherein the software is adapted to capture user-generatedcontent using controls including within a window displayed in a firstuser interface provided by an application on a mobile user device;receiving a request to invoke the capture software within a windowincluded in a displayed instance of the first user interface; providinga content capture graphical user interface for display on the first userinterface, wherein the content capture graphical user interface isprovided in response to the request to invoke the capture software, andwherein the content capture graphical user interface is adapted to allowa user to provide user-generated content to the user-generated contentmanagement server system as the user-generated content is captured usingthe capture software; receiving user-generated content for use by theuser-generated content management server system, wherein theuser-generated content defines user-generated content captured using thecontent capture graphical user interface; and wherein the user-generatedcontent management server system is adapted to: generate auser-generated content file using the received user-generated content;and store the user-generated content file on the user-generated contentmanagement server system.
 14. The non-transitory computer storage mediumof claim 13 with the program further comprising instructions that whenexecuted by data processing apparatus cause the data processingapparatus to perform operations including: providing the storeduser-generated content file for display within a plurality of displayedinstances of graphical user interfaces that include display elementshosted on one or more web server systems distinct from theuser-generated content management server system.
 15. The non-transitorycomputer storage medium of claim 14 with the program further comprisinginstructions that when executed by data processing apparatus cause thedata processing apparatus to perform operations including receivinginformation associated with user accounts for a plurality of displayedinstances of one or more webpages hosted on the one or more web serversystems.
 16. The non-transitory computer storage medium of claim 14 withthe program further comprising instructions that when executed by dataprocessing apparatus cause the data processing apparatus to performoperations including: monitoring viewer response to the user-generatedcontent file; using the viewer response in selecting the user-generatedcontent file for inclusion on a different plurality of displayedinstances of graphical user interfaces that include display elementshosted on a web server system distinct from the user-generated contentmanagement server system; and providing, in response to the selection ofthe user-generated content file for inclusion on the different pluralityof displayed instances of graphical user interfaces, the storeduser-generated content file for display within a plurality of displayedinstances of the additional webpage.
 17. The non-transitory computerstorage medium of claim 14 with the program further comprisinginstructions that when executed by data processing apparatus cause thedata processing apparatus to perform operations including monitoringviewer response to the user-generated content file; and using the viewerresponse in selecting user-generated content defined in theuser-generated content file for inclusion in a linear televisionprogram.
 18. The non-transitory computer storage medium of claim 13 withthe program further comprising instructions that when executed by dataprocessing apparatus cause the data processing apparatus to performoperations including receiving, at the user-generated content managementserver system, information associated with a user account for thedisplayed instance of the first user interface.
 19. The non-transitorycomputer storage medium of claim 13 with the program further comprisinginstructions that when executed by data processing apparatus cause thedata processing apparatus to perform operations including selecting auser-generated content file from a plurality of user-generated contentfiles received through the capture software on the user-generatedcontent management server system for inclusion in a television program.20. A system comprising: one or more user content management serversoperable to interact with a plurality of mobile user devices and to:provide support to a content capture user interface within displayedinstances of a first graphical user interface in response to a userselection of a request to access a graphical user interface, wherein thecontent capture user interface is provided within a window displayed inthe first graphical user interface and the content capture userinterface is adapted to allow users to provide user submissions to theone or more content management servers using controls included withinthe window that includes the content capture user interface, and theuser submissions are captured using a content capture softwareapplication executing on a respective mobile user device; receive aplurality of user submissions, wherein each user submission definescontent captured through the content capture user interface on arespective displayed instance of the first graphical user interface,each user submission is received as the content is captured and eachuser submission is captured using the content management softwareexecuting on the respective mobile user device; generate a plurality ofuser submission content files based on the received user submissions;and store the user submission content files on one or more user contentmanagement servers.
 21. The system of claim 20 wherein the usersubmissions comprise user-generated video content and the user-generatedvideo content is received by the one or more user content managementservers as the content is captured through the content capture userinterface.
 22. The system of claim 21 wherein the one or more usercontent management servers are further operable to transmit content froma selected user submission content file received through the contentcapture user interface for inclusion in a linear television program. 23.The system of claim 20 wherein the one or more user content managementservers are further operable to: provide a selected stored usersubmission content file for display within a plurality of displayedinstances of graphical user interfaces that include display elementshosted on one or more web server systems; monitor viewer response to theselected user submission content file; use the viewer response inselecting the user submission content file for inclusion on a differentplurality of displayed instances of graphical user interfaces thatinclude display elements hosted on one or more web server systems; andprovide, in response to the selection of the user submission contentfile for inclusion on the different plurality of displayed instances ofgraphical user interfaces, the stored user submission content file fordisplay within a plurality of displayed instances of the additionalwebpage.
 24. The system of claim 20 wherein the first graphical userinterface comprises a first webpage.
 25. The system of claim 20 whereinthe one or more user content management servers are further operable to:select the stored video file for distribution via one or morecommunication networks; and provide, using a communication interface onone or more web server systems distinct from the one or more usercontent management servers, the stored video file for display within aplurality of displayed instances of graphical user interfaces thatinclude display elements hosted on the one or more web server systems.26. The system of claim 25 wherein the one or more user contentmanagement servers are further operable to receive informationassociated with user accounts for the plurality of displayed instancesof graphical user interfaces that include display elements hosted on theone or more web server systems.
 27. The system of claim 25 wherein theone or more user content management servers are further operable to:monitor viewer response to the video file through the plurality ofdisplayed instances of graphical user interfaces; use the viewerresponse in selecting the video file for inclusion on an additionalplurality of displayed instances of graphical user interfaces thatinclude display elements hosted on one or more web server systems; andprovide, in response to the selection of the video file for inclusion onthe additional plurality of displayed instances of graphical userinterfaces, the stored video file for display within the additionalplurality of displayed instances of graphical user interfaces.
 28. Thesystem of claim 25 wherein the one or more user content managementservers are further operable to: monitor viewer response to the videofile on the through the plurality of displayed instances of graphicaluser interfaces; and use the viewer response in selecting video definedin the video file for inclusion in a linear television program.
 29. Thesystem of claim 20 wherein the one or more user content managementservers are further operable to receive information associated with auser account for the displayed instance of the first graphical userinterface.
 30. The system of claim 20 wherein the one or more usercontent management servers are further operable to transcode the storedvideo file into at least one format different from the format of thestored video file.
 31. A non-transitory computer storage medium encodedwith a computer program, the program comprising instructions that whenexecuted by data processing apparatus cause the data processingapparatus to perform operations including: receiving a request to invokemedia recorder software within a displayed instance of a video recorderinterface on a mobile device, wherein the video recorder interface isimplemented using an application on the mobile device; establishing aconnection between the mobile device and media recorder managementsoftware stored on a video management server system; providing, usingthe media recorder software, a video recorder interface in response tothe request, wherein the video recorder interface is adapted to allow auser to record video from within the displayed instance of the videorecorder interface to the video management server system as the video iscaptured using the media recorder software executing on the mobiledevice; and providing a video stream to the video management serversystem, wherein the video stream defines video captured using controlsincluded in the video recorder interface and wherein the video stream iscaptured using the media recorder software executing on the mobiledevice and the provided video stream is adapted to allow generation of avideo file to be stored on the video management server system.
 32. Thecomputer storage medium of claim 31 wherein the program furthercomprising instructions that when executed by data processing apparatuscause the data processing apparatus to perform operations includingproviding access to editing tools through the application on the mobiledevice, wherein the editing tools allow a user to edit the stored videofile.
 33. The computer storage medium of claim 31 wherein the videostream is provided to the video management server system as the video iscaptured.
 34. A system comprising: one or more user content managementservers operable to interact with a plurality of mobile user devices andto: receive a request to invoke media recorder software within adisplayed instance of a video recorder interface on a mobile device,wherein the video recorder interface is implemented using an applicationon the mobile device; establish a connection between the mobile deviceand media recorder management software stored on a video managementserver system; provide, using the media recorder software, a videorecorder interface in response to the request, wherein the videorecorder interface is adapted to allow a user to record video fromwithin the displayed instance of the video recorder interface to thevideo management server system as the video is captured using the mediarecorder software executing on the mobile device; and provide a videostream to the video management server system, wherein the video streamdefines video captured using controls included in the video recorderinterface and wherein the video stream is captured using the mediarecorder software executing on the mobile device and the provided videostream is adapted to allow generation of a video file to be stored onthe video management server system.
 35. The system of claim 34 whereinthe one or more user content management servers are further operable to:select the stored user-generated content file for distribution via oneor more communication networks; and provide the stored user-generatedcontent file for display within a plurality of displayed instances ofgraphical user interfaces that include display elements hosted on one ormore web server systems distinct from the one or more user contentmanagement servers.
 36. The system of claim 35 wherein the one or moreuser content management servers are further operable to receiveinformation associated with user accounts for a plurality of displayedinstances of one or more webpages hosted on the one or more web serversystems.
 37. The system of claim 35 wherein the one or more user contentmanagement servers are further operable to: monitor viewer response tothe user-generated content file; use the viewer response in selectingthe user-generated content file for inclusion on an additional pluralityof instances of graphical user interfaces that include display elementshosted on a web server system distinct from the one or more user contentmanagement servers; and provide, in response to the selection of theuser-generated content file for inclusion on the additional plurality ofinstances of graphical user interfaces, the stored user-generatedcontent file for display within the additional plurality of displayedinstances of the graphical user interfaces.
 38. The system of claim 35wherein the one or more user content management servers are furtheroperable to: monitor viewer response to the user-generated content file;and use the viewer response in selecting user-generated content definedin the user-generated content file for inclusion in a linear televisionprogram.